package javaman.servlet;


import java.io.IOException;

import javaman.gestor.GestorCategoria;
import javaman.modelo.Categoria;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class RegistrarCategoriaServlet
 */
public class RegistrarCategoriaServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	GestorCategoria gestorCategoria = new GestorCategoria(); 
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RegistrarCategoriaServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("RegistrarCategoriaServlet post");
		String destino = "/listadoCategoria.jsp";
		String accion = request.getParameter("accion");
		String nombre = request.getParameter("nombre");
		String idpadre = request.getParameter("idpadre");
		String descripcion = request.getParameter("descripcion");

		if(idpadre == null){
			idpadre ="0";
		} else {
			if(idpadre.equals("")) {
				idpadre ="0";
			}
		}
		
		System.out.println("accion "+accion);
		System.out.println("nombre "+nombre);
		System.out.println("idpadre "+idpadre);
		System.out.println("descripcion "+descripcion);

		Categoria categoria = new Categoria();
		
		categoria.setNombre(nombre);
		categoria.setIdcategoriapadre(Integer.parseInt(idpadre));
		categoria.setDescripcion(descripcion);
		
		String resultado = "OK";
		
		if(accion.equals("insertar")) {
			resultado = gestorCategoria.registrarCategoria(categoria);
		
			if(!resultado.equals("OK")) {
				destino = "/formularioCategoria.jsp";
				
				request.setAttribute("accion",accion);
				request.setAttribute("nombre", categoria.getNombre());
				request.setAttribute("idpadre", categoria.getIdcategoriapadre());
				request.setAttribute("descripcion", categoria.getDescripcion());

				request.setAttribute("resultado", resultado);
			
			} else {
				request.setAttribute("resultado", "Se registro correctamente la categoria.");
			}
				request.setAttribute("arrListado",gestorCategoria.listarCategorias());
			
			
		} else if (accion.equals("modificar")) {
			String idcategoria = request.getParameter("idcategoria");
			categoria.setIdcategoria(Integer.parseInt(idcategoria));
			
			resultado = gestorCategoria.modificarCategoria(categoria);
			
			if(!resultado.equals("OK")) {
				destino = "/formularioCategoria.jsp";
				
				request.setAttribute("accion",accion);
				request.setAttribute("nombre", categoria.getNombre());
				request.setAttribute("idpadre", categoria.getIdcategoriapadre());
				request.setAttribute("descripcion", categoria.getDescripcion());
				request.setAttribute("resultado", resultado);
				
			} else {
				request.setAttribute("resultado", "Se modifico correctamente la categoria.");
			}
				request.setAttribute("arrListado",gestorCategoria.listarCategorias());
			
		}
		
        getServletContext().getRequestDispatcher(destino).forward(request, response);
	}

}
